Skip to content

New: Add auto-update feature with configurable CRON scheduling#72

Draft
Copilot wants to merge 3 commits intomasterfrom
copilot/add-auto-update-feature
Draft

New: Add auto-update feature with configurable CRON scheduling#72
Copilot wants to merge 3 commits intomasterfrom
copilot/add-auto-update-feature

Conversation

Copy link

Copilot AI commented Feb 13, 2026

New

  • Auto-update system for non-local plugins with configurable CRON scheduling and semver-aware version control
  • Config options: autoUpdate (bool), updateCron (cron expression, default daily), semverSpecifier (~/^/* for patch/minor/major updates)
  • checkForPluginUpdate(pluginName) - accepts string or array, filters updates by semver range
  • runAutoUpdate() - queries isLocalInstall: false plugins, installs matching updates with force: true
  • Logging in installPlugin() at debug (start) and info (end) levels

Update

  • Added node-cron dependency for job scheduling

Testing

  1. Enable auto-update: set autoUpdate: true in config
  2. Configure update schedule via updateCron (e.g., "0 2 * * *" for 2 AM daily)
  3. Set semverSpecifier to control update scope (~ for patches, ^ for minor, * for all)
  4. Monitor logs for AUTO_UPDATE, UPDATE, and INSTALL tags
Original prompt

This section details on the original issue you should resolve

<issue_title>Add auto-update feature</issue_title>
<issue_description>### Feature description

Add a feature to allow the app to automatically update content plugins with no user/admin input at a configurable interval.

Add extra config settings:

  • autoUpdate (Boolean, default: false): will enable/disable the feature
  • updateCron (string, default @daily or 0 0 * * *): should be in a standard CRON format, and will specify how often to run the update check
  • semverSpecifier (string, default: ^, enum: ['~', '^', '*']): will clamp which versions will be installed automatically according to the npm semver ranges: * for major/all updates, ^ for minor updates (i.e. 1.x.x), and ~ for patch updates (i.e. 1.0.x)

Add update check function

Function should look something like:

/**]
 * @param {string|Array<string>} pluginName The name (or array of names) for the plugins to check
 * @return {Object|Array<Object>} Result(s) from getPluginInfos
 */
checkForPluginUpdate (plugin_name) {
}

Add CRON automated task

Set up automated update checker to run at the interval specified by updateCron, and use new checkForPluginUpdate function to check all installed plugins (with isLocalInstall: false property).

For plugins with updates found, installPlugin should be called, passing plugin name and the version to install.

Logging

  • checkForPluginUpdate:
    • Log one message at the beginning of the check: this.log('verbose', 'UPDATE', 'checking for updates for ${pluginName}')
    • Log message at the end of the function to summarise: this.log('info', 'UPDATE', 'update found for ${pluginName} (${updateVersion})') or this.log('verbose', 'UPDATE', 'no updates found for ${pluginName}')
  • installPlugin:
    • Add log at beginning of the function this.log('debug', 'INSTALL', 'installing ${pluginName}@${version}')
    • Add log at end of the function this.log('info', 'INSTALL', 'installed ${pluginName}@${version}')

Can you work on this feature?

  • I can contribute</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits February 13, 2026 12:13
Co-authored-by: taylortom <1059083+taylortom@users.noreply.github.com>
…nsistency

Co-authored-by: taylortom <1059083+taylortom@users.noreply.github.com>
Copilot AI changed the title [WIP] Add auto-update feature for content plugins New: Add auto-update feature with configurable CRON scheduling Feb 13, 2026
Copilot AI requested a review from taylortom February 13, 2026 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add auto-update feature

2 participants